home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / PInterfaces / Dialogs.p < prev    next >
Encoding:
Text File  |  1996-05-05  |  11.6 KB  |  439 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Dialogs.p
  3.  
  4.      Contains:    Dialog Manager interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1.3
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Dialogs;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __DIALOGS__}
  30. {$SETC __DIALOGS__ := 1}
  31.  
  32. {$I+}
  33. {$SETC DialogsIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __ERRORS__}
  38. {$I Errors.p}
  39. {$ENDC}
  40. {    ConditionalMacros.p                                            }
  41.  
  42. {$IFC UNDEFINED __MEMORY__}
  43. {$I Memory.p}
  44. {$ENDC}
  45. {    Types.p                                                        }
  46. {    MixedMode.p                                                    }
  47.  
  48. {$IFC UNDEFINED __MENUS__}
  49. {$I Menus.p}
  50. {$ENDC}
  51. {    Quickdraw.p                                                    }
  52. {        QuickdrawText.p                                            }
  53.  
  54. {$IFC UNDEFINED __CONTROLS__}
  55. {$I Controls.p}
  56. {$ENDC}
  57.  
  58. {$IFC UNDEFINED __WINDOWS__}
  59. {$I Windows.p}
  60. {$ENDC}
  61. {    Events.p                                                    }
  62. {        OSUtils.p                                                }
  63.  
  64. {$IFC UNDEFINED __TEXTEDIT__}
  65. {$I TextEdit.p}
  66. {$ENDC}
  67.  
  68. {$IFC UNDEFINED __EVENTS__}
  69. {$I Events.p}
  70. {$ENDC}
  71.  
  72. {$PUSH}
  73. {$ALIGN MAC68K}
  74. {$LibExport+}
  75.  
  76. CONST
  77.     ctrlItem                    = 4;
  78.     btnCtrl                        = 0;
  79.     chkCtrl                        = 1;
  80.     radCtrl                        = 2;
  81.     resCtrl                        = 3;
  82.     statText                    = 8;
  83.     editText                    = 16;
  84.     iconItem                    = 32;
  85.     picItem                        = 64;
  86.     userItem                    = 0;
  87.     itemDisable                    = 128;
  88.     ok                            = 1;
  89.     cancel                        = 2;
  90.     stopIcon                    = 0;
  91.     noteIcon                    = 1;
  92.     cautionIcon                    = 2;
  93.  
  94. { new, more standard names for dialog item constants }
  95.     kControlDialogItem            = ctrlItem;
  96.     kButtonDialogItem            = ctrlItem + btnCtrl;
  97.     kCheckBoxDialogItem            = ctrlItem + chkCtrl;
  98.     kRadioButtonDialogItem        = ctrlItem + radCtrl;
  99.     kResourceControlDialogItem    = ctrlItem + resCtrl;
  100.     kStaticTextDialogItem        = statText;
  101.     kEditTextDialogItem            = editText;
  102.     kIconDialogItem                = iconItem;
  103.     kPictureDialogItem            = picItem;
  104.     kUserDialogItem                = userItem;
  105.     kItemDisableBit                = itemDisable;
  106.     kStdOkItemIndex                = ok;
  107.     kStdCancelItemIndex            = cancel;
  108.     kStopIcon                    = stopIcon;
  109.     kNoteIcon                    = noteIcon;
  110.     kCautionIcon                = cautionIcon;
  111.  
  112. {$IFC OLDROUTINENAMES }
  113.     kOkItemIndex                = kStdOkItemIndex;
  114.     kCancelItemIndex            = kStdCancelItemIndex;
  115.  
  116. {$ENDC}
  117.     
  118. TYPE
  119.     DITLMethod = SInt16;
  120.  
  121.  
  122. CONST
  123.     overlayDITL                    = 0;
  124.     appendDITLRight                = 1;
  125.     appendDITLBottom            = 2;
  126.  
  127.     
  128. TYPE
  129.     StageList = INTEGER;
  130.  
  131.     DialogPropertyTag = OSType;
  132.  
  133.     DialogPtr = WindowPtr;
  134.  
  135.     DialogRef = DialogPtr;
  136.  
  137.  
  138.     SoundProcPtr = ProcPtr;  { PROCEDURE Sound(soundNumber: INTEGER); }
  139.     ModalFilterProcPtr = ProcPtr;  { FUNCTION ModalFilter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER): BOOLEAN; }
  140.     UserItemProcPtr = ProcPtr;  { PROCEDURE UserItem(theWindow: WindowPtr; itemNo: INTEGER); }
  141.     SoundUPP = UniversalProcPtr;
  142.     ModalFilterUPP = UniversalProcPtr;
  143.     UserItemUPP = UniversalProcPtr;
  144.  
  145. CONST
  146.     uppSoundProcInfo = $00000080; { PROCEDURE (2 byte param); }
  147.     uppModalFilterProcInfo = $00000FD0; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 1 byte result; }
  148.     uppUserItemProcInfo = $000002C0; { PROCEDURE (4 byte param, 2 byte param); }
  149.  
  150. FUNCTION NewSoundProc(userRoutine: SoundProcPtr): SoundUPP;
  151.     {$IFC NOT GENERATINGCFM }
  152.     INLINE $2E9F;
  153.     {$ENDC}
  154.  
  155. FUNCTION NewModalFilterProc(userRoutine: ModalFilterProcPtr): ModalFilterUPP;
  156.     {$IFC NOT GENERATINGCFM }
  157.     INLINE $2E9F;
  158.     {$ENDC}
  159.  
  160. FUNCTION NewUserItemProc(userRoutine: UserItemProcPtr): UserItemUPP;
  161.     {$IFC NOT GENERATINGCFM }
  162.     INLINE $2E9F;
  163.     {$ENDC}
  164.  
  165. PROCEDURE CallSoundProc(soundNumber: INTEGER; userRoutine: SoundUPP);
  166.     {$IFC NOT GENERATINGCFM}
  167.     INLINE $205F, $4E90;
  168.     {$ENDC}
  169.  
  170. FUNCTION CallModalFilterProc(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; userRoutine: ModalFilterUPP): BOOLEAN;
  171.     {$IFC NOT GENERATINGCFM}
  172.     INLINE $205F, $4E90;
  173.     {$ENDC}
  174.  
  175. PROCEDURE CallUserItemProc(theWindow: WindowPtr; itemNo: INTEGER; userRoutine: UserItemUPP);
  176.     {$IFC NOT GENERATINGCFM}
  177.     INLINE $205F, $4E90;
  178.     {$ENDC}
  179.  
  180. TYPE
  181.     DialogRecord = RECORD
  182.         window:                    WindowRecord;
  183.         items:                    Handle;
  184.         textH:                    TEHandle;
  185.         editField:                INTEGER;
  186.         editOpen:                INTEGER;
  187.         aDefItem:                INTEGER;
  188.     END;
  189.  
  190.     DialogPeek = ^DialogRecord;
  191.  
  192.     DialogTemplate = RECORD
  193.         boundsRect:                Rect;
  194.         procID:                    INTEGER;
  195.         visible:                BOOLEAN;
  196.         filler1:                BOOLEAN;
  197.         goAwayFlag:                BOOLEAN;
  198.         filler2:                BOOLEAN;
  199.         refCon:                    LONGINT;
  200.         itemsID:                INTEGER;
  201.         title:                    Str255;
  202.     END;
  203.  
  204.     DialogTPtr = ^DialogTemplate;
  205.     DialogTHndl = ^DialogTPtr;
  206.  
  207.     AlertTemplate = RECORD
  208.         boundsRect:                Rect;
  209.         itemsID:                INTEGER;
  210.         stages:                    StageList;
  211.     END;
  212.  
  213.     AlertTPtr = ^AlertTemplate;
  214.     AlertTHndl = ^AlertTPtr;
  215.  
  216.  
  217. PROCEDURE InitDialogs(ignored: UNIV Ptr);
  218.     {$IFC NOT GENERATINGCFM}
  219.     INLINE $A97B;
  220.     {$ENDC}
  221. PROCEDURE ErrorSound(soundProc: SoundUPP);
  222.     {$IFC NOT GENERATINGCFM}
  223.     INLINE $A98C;
  224.     {$ENDC}
  225. FUNCTION NewDialog(wStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; itmLstHndl: Handle): DialogRef;
  226.     {$IFC NOT GENERATINGCFM}
  227.     INLINE $A97D;
  228.     {$ENDC}
  229. FUNCTION GetNewDialog(dialogID: INTEGER; dStorage: UNIV Ptr; behind: WindowRef): DialogRef;
  230.     {$IFC NOT GENERATINGCFM}
  231.     INLINE $A97C;
  232.     {$ENDC}
  233. PROCEDURE CloseDialog(theDialog: DialogRef);
  234.     {$IFC NOT GENERATINGCFM}
  235.     INLINE $A982;
  236.     {$ENDC}
  237. PROCEDURE DisposeDialog(theDialog: DialogRef);
  238.     {$IFC NOT GENERATINGCFM}
  239.     INLINE $A983;
  240.     {$ENDC}
  241. PROCEDURE ParamText(param0: ConstStr255Param; param1: ConstStr255Param; param2: ConstStr255Param; param3: ConstStr255Param);
  242.     {$IFC NOT GENERATINGCFM}
  243.     INLINE $A98B;
  244.     {$ENDC}
  245. PROCEDURE ModalDialog(modalFilter: ModalFilterUPP; VAR itemHit: INTEGER);
  246.     {$IFC NOT GENERATINGCFM}
  247.     INLINE $A991;
  248.     {$ENDC}
  249. FUNCTION IsDialogEvent({CONST}VAR theEvent: EventRecord): BOOLEAN;
  250.     {$IFC NOT GENERATINGCFM}
  251.     INLINE $A97F;
  252.     {$ENDC}
  253. FUNCTION DialogSelect({CONST}VAR theEvent: EventRecord; VAR theDialog: DialogRef; VAR itemHit: INTEGER): BOOLEAN;
  254.     {$IFC NOT GENERATINGCFM}
  255.     INLINE $A980;
  256.     {$ENDC}
  257. PROCEDURE DrawDialog(theDialog: DialogRef);
  258.     {$IFC NOT GENERATINGCFM}
  259.     INLINE $A981;
  260.     {$ENDC}
  261. PROCEDURE UpdateDialog(theDialog: DialogRef; updateRgn: RgnHandle);
  262.     {$IFC NOT GENERATINGCFM}
  263.     INLINE $A978;
  264.     {$ENDC}
  265. FUNCTION Alert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  266.     {$IFC NOT GENERATINGCFM}
  267.     INLINE $A985;
  268.     {$ENDC}
  269. FUNCTION StopAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  270.     {$IFC NOT GENERATINGCFM}
  271.     INLINE $A986;
  272.     {$ENDC}
  273. FUNCTION NoteAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  274.     {$IFC NOT GENERATINGCFM}
  275.     INLINE $A987;
  276.     {$ENDC}
  277. FUNCTION CautionAlert(alertID: INTEGER; modalFilter: ModalFilterUPP): INTEGER;
  278.     {$IFC NOT GENERATINGCFM}
  279.     INLINE $A988;
  280.     {$ENDC}
  281. PROCEDURE GetDialogItem(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Handle; VAR box: Rect);
  282.     {$IFC NOT GENERATINGCFM}
  283.     INLINE $A98D;
  284.     {$ENDC}
  285. PROCEDURE SetDialogItem(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Handle; {CONST}VAR box: Rect);
  286.     {$IFC NOT GENERATINGCFM}
  287.     INLINE $A98E;
  288.     {$ENDC}
  289. PROCEDURE HideDialogItem(theDialog: DialogRef; itemNo: INTEGER);
  290.     {$IFC NOT GENERATINGCFM}
  291.     INLINE $A827;
  292.     {$ENDC}
  293. PROCEDURE ShowDialogItem(theDialog: DialogRef; itemNo: INTEGER);
  294.     {$IFC NOT GENERATINGCFM}
  295.     INLINE $A828;
  296.     {$ENDC}
  297. PROCEDURE SelectDialogItemText(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  298.     {$IFC NOT GENERATINGCFM}
  299.     INLINE $A97E;
  300.     {$ENDC}
  301. PROCEDURE GetDialogItemText(item: Handle; VAR text: Str255);
  302.     {$IFC NOT GENERATINGCFM}
  303.     INLINE $A990;
  304.     {$ENDC}
  305. PROCEDURE SetDialogItemText(item: Handle; text: ConstStr255Param);
  306.     {$IFC NOT GENERATINGCFM}
  307.     INLINE $A98F;
  308.     {$ENDC}
  309. FUNCTION FindDialogItem(theDialog: DialogRef; thePt: Point): INTEGER;
  310.     {$IFC NOT GENERATINGCFM}
  311.     INLINE $A984;
  312.     {$ENDC}
  313. FUNCTION NewColorDialog(dStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Handle): DialogRef;
  314.     {$IFC NOT GENERATINGCFM}
  315.     INLINE $AA4B;
  316.     {$ENDC}
  317. FUNCTION GetAlertStage : INTEGER;
  318.     {$IFC NOT CFMSYSTEMCALLS}
  319.     INLINE $3EB8, $0A9A;            { MOVE.w $0A9A,(SP) }
  320.     {$ENDC}
  321.  
  322. PROCEDURE ResetAlertStage;
  323.     {$IFC NOT GENERATINGCFM}
  324.     INLINE $4278, $0A9A;
  325.     {$ENDC}
  326. PROCEDURE DialogCut(theDialog: DialogRef);
  327. PROCEDURE DialogPaste(theDialog: DialogRef);
  328. PROCEDURE DialogCopy(theDialog: DialogRef);
  329. PROCEDURE DialogDelete(theDialog: DialogRef);
  330. PROCEDURE SetDialogFont( value: INTEGER );
  331.     {$IFC NOT CFMSYSTEMCALLS}
  332.     INLINE $31DF, $0AFA;            { MOVE.w (SP)+,$0AFA }
  333.     {$ENDC}
  334.  
  335. PROCEDURE AppendDITL(theDialog: DialogRef; theHandle: Handle; method: DITLMethod);
  336. FUNCTION CountDITL(theDialog: DialogRef): INTEGER;
  337. PROCEDURE ShortenDITL(theDialog: DialogRef; numberItems: INTEGER);
  338. FUNCTION StdFilterProc(theDialog: DialogRef; VAR event: EventRecord; VAR itemHit: INTEGER): BOOLEAN;
  339. FUNCTION GetStdFilterProc(VAR theProc: ModalFilterUPP): OSErr;
  340.     {$IFC NOT GENERATINGCFM}
  341.     INLINE $303C, $0203, $AA68;
  342.     {$ENDC}
  343. FUNCTION SetDialogDefaultItem(theDialog: DialogRef; newItem: INTEGER): OSErr;
  344.     {$IFC NOT GENERATINGCFM}
  345.     INLINE $303C, $0304, $AA68;
  346.     {$ENDC}
  347. FUNCTION SetDialogCancelItem(theDialog: DialogRef; newItem: INTEGER): OSErr;
  348.     {$IFC NOT GENERATINGCFM}
  349.     INLINE $303C, $0305, $AA68;
  350.     {$ENDC}
  351. FUNCTION SetDialogTracksCursor(theDialog: DialogRef; tracks: BOOLEAN): OSErr;
  352.     {$IFC NOT GENERATINGCFM}
  353.     INLINE $303C, $0306, $AA68;
  354.     {$ENDC}
  355. {$IFC OLDROUTINENAMES }
  356. {$IFC NOT GENERATINGCFM }
  357. PROCEDURE CouldDialog(dialogID: INTEGER);
  358.     {$IFC NOT GENERATINGCFM}
  359.     INLINE $A979;
  360.     {$ENDC}
  361. PROCEDURE FreeDialog(dialogID: INTEGER);
  362.     {$IFC NOT GENERATINGCFM}
  363.     INLINE $A97A;
  364.     {$ENDC}
  365. PROCEDURE CouldAlert(alertID: INTEGER);
  366.     {$IFC NOT GENERATINGCFM}
  367.     INLINE $A989;
  368.     {$ENDC}
  369. PROCEDURE FreeAlert(alertID: INTEGER);
  370.     {$IFC NOT GENERATINGCFM}
  371.     INLINE $A98A;
  372.     {$ENDC}
  373. {$ENDC}
  374. PROCEDURE DisposDialog(theDialog: DialogRef);
  375.     {$IFC NOT GENERATINGCFM}
  376.     INLINE $A983;
  377.     {$ENDC}
  378. PROCEDURE UpdtDialog(theDialog: DialogRef; updateRgn: RgnHandle);
  379.     {$IFC NOT GENERATINGCFM}
  380.     INLINE $A978;
  381.     {$ENDC}
  382. PROCEDURE GetDItem(theDialog: DialogRef; itemNo: INTEGER; VAR itemType: INTEGER; VAR item: Handle; VAR box: Rect);
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $A98D;
  385.     {$ENDC}
  386. PROCEDURE SetDItem(theDialog: DialogRef; itemNo: INTEGER; itemType: INTEGER; item: Handle; {CONST}VAR box: Rect);
  387.     {$IFC NOT GENERATINGCFM}
  388.     INLINE $A98E;
  389.     {$ENDC}
  390. PROCEDURE HideDItem(theDialog: DialogRef; itemNo: INTEGER);
  391.     {$IFC NOT GENERATINGCFM}
  392.     INLINE $A827;
  393.     {$ENDC}
  394. PROCEDURE ShowDItem(theDialog: DialogRef; itemNo: INTEGER);
  395.     {$IFC NOT GENERATINGCFM}
  396.     INLINE $A828;
  397.     {$ENDC}
  398. PROCEDURE SelIText(theDialog: DialogRef; itemNo: INTEGER; strtSel: INTEGER; endSel: INTEGER);
  399.     {$IFC NOT GENERATINGCFM}
  400.     INLINE $A97E;
  401.     {$ENDC}
  402. PROCEDURE GetIText(item: Handle; VAR text: Str255);
  403.     {$IFC NOT GENERATINGCFM}
  404.     INLINE $A990;
  405.     {$ENDC}
  406. PROCEDURE SetIText(item: Handle; text: ConstStr255Param);
  407.     {$IFC NOT GENERATINGCFM}
  408.     INLINE $A98F;
  409.     {$ENDC}
  410. FUNCTION FindDItem(theDialog: DialogRef; thePt: Point): INTEGER;
  411.     {$IFC NOT GENERATINGCFM}
  412.     INLINE $A984;
  413.     {$ENDC}
  414. FUNCTION NewCDialog(dStorage: UNIV Ptr; {CONST}VAR boundsRect: Rect; title: ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT; items: Handle): DialogRef;
  415.     {$IFC NOT GENERATINGCFM}
  416.     INLINE $AA4B;
  417.     {$ENDC}
  418. PROCEDURE DlgCut(theDialog: DialogRef);
  419. PROCEDURE DlgPaste(theDialog: DialogRef);
  420. PROCEDURE DlgCopy(theDialog: DialogRef);
  421. PROCEDURE DlgDelete(theDialog: DialogRef);
  422. PROCEDURE SetDAFont(fontNum: INTEGER);
  423.     {$IFC NOT GENERATINGCFM}
  424.     INLINE $31DF, $0AFA;
  425.     {$ENDC}
  426. {$ELSEC}
  427. {$ENDC}
  428.  
  429. {$ALIGN RESET}
  430. {$POP}
  431.  
  432. {$SETC UsingIncludes := DialogsIncludes}
  433.  
  434. {$ENDC} {__DIALOGS__}
  435.  
  436. {$IFC NOT UsingIncludes}
  437.  END.
  438. {$ENDC}
  439.